import request from '@/utils/request'
import requestFile from '@/utils/request-file'

const prefixUrl = 'web/intention_scheme/'

export function export_point_detail(params) {
  return requestFile({
    url: prefixUrl + '/export_point_detail',
    method: 'get',
    params,
    fileName: '详细点位导出.xls'
  })
}

// 筛选楼盘方法
export function search(data) {
  return request({
    url: prefixUrl + 'search',
    method: 'post',
    content_type: 'json',
    data: data
  })
}

// 筛选楼盘方法
export function searchAll(data) {
  return request({
    url: prefixUrl + 'searchAll',
    method: 'post',
    content_type: 'json',
    data: data
  })
}

// 保存方案
export function save(data) {
  return request({
    url: prefixUrl + 'save',
    method: 'post',
    content_type: 'json',
    data: data
  })
}

// 保存并锁定
export function lock(data) {
  return request({
    url: prefixUrl + 'lock',
    method: 'put',
    content_type: 'json',
    data: data
  })
}

// 列表分页
export function list(params) {
  return request({
    url: prefixUrl + 'list',
    method: 'get',
    params
  })
}

/**
 * 获取详情
 * @param params
 * @returns {AxiosPromise}
 */
export function detail(params) {
  return request({
    url: prefixUrl + 'detail',
    method: 'get',
    params
  })
}

/**
 * 检查时间段是否有冲突
 * @param data
 * @returns {*}
 */
export function check_date_range_lock(data) {
  return request({
    url: prefixUrl + 'check-date-range-lock',
    method: 'post',
    content_type: 'json',
    data
  })
}

/**
 * 释放
 * @param params
 * @returns {*}
 */
export function release(params) {
  return request({
    url: prefixUrl + 'release',
    method: 'post',
    params
  })
}

/**
 * 删除
 * @param params
 * @returns {*}
 */
export function remove(params) {
  return request({
    url: prefixUrl + 'delete',
    method: 'post',
    params
  })
}

/**
 * 向维护人推送消息
 */
export function push_msg(params) {
  return request({
    url: prefixUrl + 'push_msg',
    method: 'post',
    params
  })
}

/**
 * 通过ID锁定
 * @param params
 * @returns {*}
 */
export function lock_by_id(params) {
  return request({
    url: prefixUrl + 'lock-by-id',
    method: 'put',
    params
  })
}

/**
 * 获取套餐详细信息
 * @param params
 * @returns {AxiosPromise}
 */
export function combo_info(params) {
  return request({
    url: prefixUrl + 'combo_info',
    method: 'get',
    params
  })
}

/**
 * 获取合同关联的补充协议
 * @param params
 * @returns {AxiosPromise}
 */
export function list_amend_intention(params) {
  return request({
    url: prefixUrl + 'list-amend-intention',
    method: 'get',
    params
  })
}

/**
 * 获取锁位列表
 * @param params
 * @returns {AxiosPromise}
 */
export function list_all_by_related_type(params) {
  return request({
    url: prefixUrl + 'list-all-by-related-type',
    method: 'get',
    params
  })
}

// 估计单据合同id和单据类型获取锁位列表
export function listByRelated(params) {
  return request({
    url: prefixUrl + 'list-by-related',
    method: 'get',
    params
  })
}

// 锁位关联合同
export function link_contract(data) {
  return request({
    url: prefixUrl + 'link-contract',
    method: 'put',
    content_type: 'json',
    data
  })
}

/**
 * 解除关联合同
 */
export function unlink_contract(params) {
  return request({
    url: prefixUrl + 'unlink-contract',
    method: 'post',
    params
  })
}

// 小程序意向方案列表
export function needSelectPage(params) {
  return request({
    url: prefixUrl + 'needSelectPage',
    method: 'get',
    params
  })
}

/**
 * 通过ID锁定
 * @param params
 * @returns {*}
 */
export function copy_plan(data) {
  return request({
    url: prefixUrl + 'copy-plan',
    method: 'post',
    content_type: 'json',
    data
  })
}

